package com.shuke.medical.insure.model.bo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.List;

/***
 * @title ChsMdVisitUpload
 * @description: 门诊就诊信息上传
 * @author woo hua
 * @version 1.0.0
 * @create 2023/4/4 10:51
 **/
@Data
@NoArgsConstructor
@ApiModel("门诊就诊信息上传")
public class ChsMdVisitUpload {

    public static final String MD_TRT_INFO = "mdtrtinfo";
    public static final String DISE_INFO = "diseinfo";

    @ApiModelProperty("就诊信息mdtrtinfo")
    private MdTrtInfo mdTrtInfo;


    @ApiModelProperty("诊断信息diseinfo")
    private List<DiseInfo> diseInfo;

    @Data
    @NoArgsConstructor
    @Accessors(chain = true)
    @ApiModel("就诊信息mdtrtinfo")
    public static class MdTrtInfo {
        /**
         * 1.	mdtrt_id 	就诊 ID 	字符型 	30 	   	Y
         */
        @ApiModelProperty("就诊 ID")
        private String mdtrt_id;

        /**
         * 2.	psn_no	人员编号	字符型	30		Y
         */
        @ApiModelProperty("人员编号")
        private String psn_no;

        /**
         * 3.	med_type 	医疗类别 	字符型 	6 	Y 	Y
         */
        @ApiModelProperty("医疗类别")
        private String med_type;

        /**
         * 4.	begntime 	开始时间 	日期型 	   	   	Y 	就诊时间
         */
        @ApiModelProperty("开始时间")
        private String begntime;

        /**
         * 5.	main_cond_dscr 	主要病情描述 	字符型 	1000
         */
        @ApiModelProperty("主要病情描述")
        private String main_cond_dscr;

        /**
         * 6.	dise_codg 	病种编码 	字符型 	30 	   	Y 	按照标准编码填写：
         * 按病种结算病种目录代码(bydise_setl_list_code)
         * 门诊慢特病病种目录代码(opsp_dise_cod)、特殊病种目录代码、普通疾病直接填写普通病种
         */
        @ApiModelProperty("病种编码")
        private String dise_codg;

        /**
         * 7.	dise_name 	病种名称 	字符型 	500
         */
        @ApiModelProperty("病种名称")
        private String dise_name;

        /**
         * 8.	birctrl_type 	计划生育手术类别 	字符型 	6 	Y   	   	生育门诊按需录入
         */
        @ApiModelProperty("计划生育手术类别")
        private String birctrl_type;

        /**
         * 9.	birctrl_matn_date 	计划生育手术或生育日期 	日期型 	   	   	   	生育门诊按需录入，格式：yyyy-MM-dd
         */
        @ApiModelProperty("计划生育手术或生育日期")
        private String birctrl_matn_date;

        /**
         * 10.	ttp_resp	是否第三方责任申请	字符型	6		Y	0-否，1-是
         */
        @ApiModelProperty("是否第三方责任申请")
        private String ttp_resp;

        /**
         * 11.	expi_gestation_nub_of_m	终止妊娠月数	字符型	6
         */
        @ApiModelProperty("终止妊娠月数")
        private String expi_gestation_nub_of_m;
    }

    @Data
    @NoArgsConstructor
    @Accessors(chain = true)
    @ApiModel("诊断信息diseinfo")
    public static class DiseInfo {

        /**
         * 1.	diag_type 	诊断类别 	字符型 	3 	  Y 	  Y
         */
        @ApiModelProperty("诊断类别")
        private String diag_type;

        /**
         * 2.	diag_srt_no 	诊断排序号 	数值型 	2 	   	  Y
         */
        @ApiModelProperty("诊断排序号")
        private Integer diag_srt_no;

        /**
         * 3.	diag_code 	诊断代码 	字符型 	20 	   	  Y
         */
        @ApiModelProperty("诊断代码")
        private String diag_code;

        /**
         * 4.	diag_name 	诊断名称 	字符型 	100 	   	  Y
         */
        @ApiModelProperty("诊断名称")
        private String diag_name;

        /**
         * 5.	diag_dept 	诊断科室 	字符型 	50 	   	  Y
         */
        @ApiModelProperty("诊断科室")
        private String diag_dept;

        /**
         * 6.	dise_dor_no 	诊断医生编码 	字符型 	30 	   	  Y
         */
        @ApiModelProperty("诊断医生编码")
        private String dise_dor_no;

        /**
         * 7.	dise_dor_name 	诊断医生姓名 	字符型 	50 	   	  Y
         */
        @ApiModelProperty("诊断医生姓名")
        private String dise_dor_name;

        /**
         * 8.	diag_time 	诊断时间 	日期型 	   	   	  Y 	格式：yyyy-MM-dd HH:mm:ss
         */
        @ApiModelProperty("诊断时间")
        private String diag_time;

        /**
         * 9.	vali_flag 	有效标志 	字符型 	3 	Y   	  Y
         */
        @ApiModelProperty("有效标志")
        private String vali_flag;

        /**
         * 10.	maindiag_flag	主诊断标志	字符型	3	Y	Y	1-是 0-否
         */
        @ApiModelProperty("主诊断标志")
        private String maindiag_flag;
    }
}
